'''
练习1：
打印九九乘法表 
'''
# for i in range(1,10):
#     for j in range(1,i+1):
#         print(f'{j}*{i}={j*i}',end='\t')
#     print()


'''
练习2：
定义一个列表，元素如下：8,4,2,1,23,344,12
实现如下功能：
    1.求数列中所有数值的和
    2.将最大值放到列表的最前面，最小值放到列表的最后面（其它元素位置不动）
'''
# nums = [8,4,2,1,23,344,12]
# # 1.求数列中所有数值的和
# sum = 0
# for num in nums:
#     sum += num 
# print('总和为：',sum)   
# # 2.将最大值放到列表的最前面，最小值放到列表的最后面
# # 第一步：查到最大值和最小值所在的位置
# maxIndex = 0 # 最大值所在位置
# minIndex = 0 # 最小值所在位置
# i = 0
# while i<len(nums):
#     if nums[i] > nums[maxIndex]:
#         maxIndex = i
#     if nums[i] < nums[minIndex]:
#         minIndex = i 
#     i += 1  
# # 第二步：交换位置
# nums[0],nums[maxIndex] = nums[maxIndex],nums[0]
# nums[-1],nums[minIndex] = nums[minIndex],nums[-1]
# print(nums)


'''
练习3：
提示用户输入任意一段内容，采用倒叙的方式将内容输出
如， 输入：welcome to python
    输出：nohtyp ot emoclew
'''
# str = input('请输入一段内容：')
# print(str[::-1])


'''
练习4：
打印出所有的 "水仙花数 "，所谓 "水仙花数 "是指一个三位数，其各位数字立方和等于该数本身。
如：153是一个 "水仙花数 "，因为153=1的三次方＋5的三次方＋3的三次方。   
'''
# for i in range(100,1000):
#     a = i%10
#     b = i//10%10
#     c = i//100
#     if a**3 + b**3 + c**3 == i:
#         print(i)


'''
练习5：
一球从100米高度自由落下，每次落地后反跳回原高度的一半；再落下，求它在第10次落地时，共经过多少米？第10次反弹多高？ 
'''
height = 100
sum = height
for i in range(1,10):
    height = height/2 
    sum += height*2
print(f'共经过{sum}米')
print(f'第10次反弹高度为：{height/2}米')